package com.delu.entity;

import java.math.BigDecimal;

import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import java.time.LocalDateTime;
import java.io.Serializable;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author 6子的爹
 * @since 2021-12-18
 */
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("user")
@ApiModel(value="User对象", description="")
public class User implements Serializable {

    private static final long serialVersionUID = 1L;

    @ApiModelProperty(value = "ID")
    @TableId(value = "user_id", type = IdType.AUTO)
    private Long userId;

    @ApiModelProperty(value = "用户名")
    @TableField("usrname")
    private String usrname;

    @ApiModelProperty(value = "用户密码")
    @TableField("password")
    private String password;

    @ApiModelProperty(value = "用户注册手机号")
    @TableField("phone")
    private String phone;

    @ApiModelProperty(value = "注册邮箱")
    @TableField("email")
    private String email;

    @ApiModelProperty(value = "创建时间")
    @TableField("created")
    private LocalDateTime created;

    @ApiModelProperty(value = "修改时间")
    @TableField("updated")
    private LocalDateTime updated;

    @ApiModelProperty(value = "昵称")
    @TableField("nick_name")
    private String nickName;

    @ApiModelProperty(value = "使用状态(实名,未实名)")
    @TableField("status")
    private String status;

    @ApiModelProperty(value = "头像地址")
    @TableField("head_pic")
    private String headPic;

    @ApiModelProperty(value = "qq号")
    @TableField("qq")
    private String qq;

    @ApiModelProperty(value = "账户余额")
    @TableField("account_balance")
    private BigDecimal accountBalance;

    @ApiModelProperty(value = "身份证号")
    @TableField("id_card")
    private String idCard;

    @ApiModelProperty(value = "身份证照片(正反面)")
    @TableField("card_img")
    private String cardImg;

    @ApiModelProperty(value = "密码加盐")
    @TableField("salt")
    private String salt;

    @ApiModelProperty(value = "驾驶证编号")
    @TableField("driver_id")
    private String driverId;

    @ApiModelProperty(value = "会员ID(1.普通会员 2.银卡会员 3.金卡会员 4.砖石会员)")
    @TableField("vip_id")
    private Long vipId;

    @ApiModelProperty(value = "押金额")
    @TableField("cash_pledge")
    private BigDecimal cashPledge;

    @ApiModelProperty(value = "最后登录时间")
    @TableField("last_login_time")
    private LocalDateTime lastLoginTime;

    @ApiModelProperty(value = "驾驶证类型")
    @TableField("license_type")
    private String licenseType;

    @ApiModelProperty(value = "驾照正反面照片")
    @TableField("driver_img")
    private String driverImg;

    public static long getSerialVersionUID() {
        return serialVersionUID;
    }

    public Long getUserId() {
        return userId;
    }

    public void setUserId(Long userId) {
        this.userId = userId;
    }

    public String getUsrname() {
        return usrname;
    }

    public void setUsrname(String usrname) {
        this.usrname = usrname;
    }

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getPhone() {
        return phone;
    }

    public void setPhone(String phone) {
        this.phone = phone;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }

    public LocalDateTime getCreated() {
        return created;
    }

    public void setCreated(LocalDateTime created) {
        this.created = created;
    }

    public LocalDateTime getUpdated() {
        return updated;
    }

    public void setUpdated(LocalDateTime updated) {
        this.updated = updated;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    public String getHeadPic() {
        return headPic;
    }

    public void setHeadPic(String headPic) {
        this.headPic = headPic;
    }

    public String getQq() {
        return qq;
    }

    public void setQq(String qq) {
        this.qq = qq;
    }

    public BigDecimal getAccountBalance() {
        return accountBalance;
    }

    public void setAccountBalance(BigDecimal accountBalance) {
        this.accountBalance = accountBalance;
    }

    public String getIdCard() {
        return idCard;
    }

    public void setIdCard(String idCard) {
        this.idCard = idCard;
    }

    public String getCardImg() {
        return cardImg;
    }

    public void setCardImg(String cardImg) {
        this.cardImg = cardImg;
    }

    public String getSalt() {
        return salt;
    }

    public void setSalt(String salt) {
        this.salt = salt;
    }

    public String getDriverId() {
        return driverId;
    }

    public void setDriverId(String driverId) {
        this.driverId = driverId;
    }

    public Long getVipId() {
        return vipId;
    }

    public void setVipId(Long vipId) {
        this.vipId = vipId;
    }

    public BigDecimal getCashPledge() {
        return cashPledge;
    }

    public void setCashPledge(BigDecimal cashPledge) {
        this.cashPledge = cashPledge;
    }

    public LocalDateTime getLastLoginTime() {
        return lastLoginTime;
    }

    public void setLastLoginTime(LocalDateTime lastLoginTime) {
        this.lastLoginTime = lastLoginTime;
    }

    public String getLicenseType() {
        return licenseType;
    }

    public void setLicenseType(String licenseType) {
        this.licenseType = licenseType;
    }

    public String getDriverImg() {
        return driverImg;
    }

    public void setDriverImg(String driverImg) {
        this.driverImg = driverImg;
    }

    public User() {
    }

    public User(Long userId, String usrname, String password, String phone, String email, LocalDateTime created, LocalDateTime updated, String nickName, String status, String headPic, String qq, BigDecimal accountBalance, String idCard, String cardImg, String salt, String driverId, Long vipId, BigDecimal cashPledge, LocalDateTime lastLoginTime, String licenseType, String driverImg) {
        this.userId = userId;
        this.usrname = usrname;
        this.password = password;
        this.phone = phone;
        this.email = email;
        this.created = created;
        this.updated = updated;
        this.nickName = nickName;
        this.status = status;
        this.headPic = headPic;
        this.qq = qq;
        this.accountBalance = accountBalance;
        this.idCard = idCard;
        this.cardImg = cardImg;
        this.salt = salt;
        this.driverId = driverId;
        this.vipId = vipId;
        this.cashPledge = cashPledge;
        this.lastLoginTime = lastLoginTime;
        this.licenseType = licenseType;
        this.driverImg = driverImg;
    }
}
